package com.amado.course26InterfaceAbstract;

/*
1.static可以修饰属性和方法。
2.static声明的成员变量时全局变量，在整个系统运行中都存在。
3.static声明的方法和属性，一般直接通过类名来访问。
4.new一个对象，对象不包括静态变量，静态变量存放在静态区域。
5.静态方法中不能出现this，super，因为调用静态方法的是类，而不是对象。
6.在本类中：静态方法不能直接调用非静态的属性和方法。反之，可以。

static静态块：
1.static{}(即static块)
2.会在类被加载的时候执行且仅会被执行一次、
3.一般用来初始化静态变量和调用静态方法一句话：用来做类的初始化工作的
 *
 */
public class StaticMethod {
	private static int count = 0;
	private int sum = 0;
	public static void main(String[] args) {
		/**
		 * 不可以访问非静态的方法
		 */
		new StaticMethod().print();
		/**
		 * 不可以访问非静态的变量
		 */
		System.out.println(new StaticMethod().sum);
	}
	public void print() {
		/**
		 * 可以访问静态的方法
		 */
		main(new String[] {"a"});
		/**
		 * 可以访问静态的变量
		 */
		System.out.println(count);
	}
}
